package com.mingqijia.gassafety.webserver.response;

import com.baomidou.mybatisplus.annotation.TableField;
import com.mingqijia.gassafety.db.entity.RunningReportData;
import com.mingqijia.gassafety.db.entity.annotation.OperateLogFiled;
import com.mingqijia.gassafety.shared.utils.commonUtils.PageColumns;
import com.mingqijia.gassafety.webserver.dto.RunningReportAlarmDetailDTO;
import com.mingqijia.gassafety.webserver.dto.RunningReportAlarmSummaryDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;
import java.util.Map;

/**
 * @author mby
 * @version 1.0.0
 * @ClassName RunningReportTemplateResponse.java
 * @Description
 * @createTime 2024年03月11日
 */
@Data
@ApiModel("设备运行报告详情数据")
public class RunningReportDetailResponse {

    @ApiModelProperty(value = "月份")
    private Integer month;

    @ApiModelProperty(value = "报告内容 0-有报警，1-无报警,正常运行，2-有故障，3-有离线")
    private String reportContentType;

    @ApiModelProperty(value = "页眉内容展示 0-展示 1-不展示")
    private Integer headerShow;

    @ApiModelProperty(value = "页眉logo")
    private String headerLogo;

    @ApiModelProperty(value = "页眉文案内容")
    private String headerContent;

    @ApiModelProperty(value = "无报警报告说明内容")
    private String noAlarmContent;

    @ApiModelProperty(value = "无报警温馨提示展示 0-展示 1-不展示")
    private Integer noAlarmTipsShow;

    @ApiModelProperty(value = "是否报警总结 0-是 1-否")
    private Integer isAlarmSummary;

    @ApiModelProperty(value = "报警总结内容")
    private String alarmSummaryContent;

    @ApiModelProperty(value = "报警总结记录标题")
    private String alarmSummaryTitle;

    @ApiModelProperty(value = "报警总结记录列表表头")
    private List<PageColumns> alarmSummaryColumns;

    @ApiModelProperty(value = "报警总结记录列表数据")
    private List<RunningReportAlarmSummaryDTO> alarmSummaryDatas;

    @ApiModelProperty(value = "报警总结记录列表数据总数")
    private Integer alarmSummaryDataTotal;

    @ApiModelProperty(value = "报警总结类别分析展示 0-展示 1-不展示")
    private Integer categoryAnalysisShow;

    @ApiModelProperty(value = "报警类别分析图示:报警总数")
    private Integer alarmTotal;

    @ApiModelProperty(value = "报警类别分析图示:故障总数")
    private Integer brokenTotal;

    @ApiModelProperty(value = "报警类别分析图示:离线总数")
    private Integer offlineTotal;

    @ApiModelProperty(value = "报警总结情况分析展示 0-展示 1-不展示")
    private Integer situationAnalysisShow;

    @ApiModelProperty(value = "报警情况分析图示，key为x轴报警类型,value为y轴数值")
    private Map<String, Integer> situationAnalysisMap;

    @ApiModelProperty(value = "是否报警明细 0-是 1-否")
    private Integer isAlarmDetail;

    @ApiModelProperty(value = "报警明细记录标题")
    private String alarmDetailTitle;

    @ApiModelProperty(value = "报警明细户名展示 0-展示 1-不展示")
    private Integer alarmDetailNameShow;

    @ApiModelProperty(value = "报警明细户号展示 0-展示 1-不展示")
    private Integer alarmDetailCodeShow;

    @ApiModelProperty(value = "报警明细户址展示 0-展示 1-不展示")
    private Integer alarmDetailAddressShow;

    @ApiModelProperty(value = "客户ID")
    private Integer consumerId;

    @ApiModelProperty(value = "户号")
    private String subsCode;

    @ApiModelProperty(value = "户名")
    private String custName;

    @ApiModelProperty(value = "户址")
    private String custAddress;

    @ApiModelProperty(value = "报警明细记录列表表头")
    private List<PageColumns> alarmDetailColumns;

    @ApiModelProperty(value = "报警明细记录列表数据")
    private List<RunningReportAlarmDetailDTO> alarmDetailDatas;

    @ApiModelProperty(value = "是否温馨提示 0-是 1-否")
    private Integer isTips;

    @ApiModelProperty(value = "温馨提示内容")
    private String tipsContent;

    @ApiModelProperty(value = "温馨提示 0-展示 1-不展示")
    private Integer tipsShow;

    @ApiModelProperty(value = "企业标识")
    private String spId;

}
